Memory devices including semiconductor elements are broadly classified into two categories: volatile memory devices that lose stored data when power is not supplied and non-volatile memory devices that retains stored data even when power is not supplied.
A typical example of a volatile memory device is a DRAM (dynamic random access memory). A DRAM stores data in such a manner that a transistor included in a memory element is selected and electrical charge is accumulated in a capacitor.
When data is read from a DRAM, electrical charge in a capacitor is lost according to the principle; thus, another writing operation is necessary every time data is read. Further, a transistor included in a memory element has leakage current (off-state current) between a source and a drain in an off state or the like and electrical charge flows into or out even if the transistor is not selected, so that a data retention period is short. For that reason, another writing operation (refresh operation) is necessary at predetermined intervals, and it is difficult to sufficiently reduce power consumption. Furthermore, since stored data is lost when power is not supplied, a different memory device using a magnetic material or an optical material is needed in order to retain data for a long time.
A different example of a volatile memory device is an SRAM (static random access memory). An SRAM retains stored data by using a circuit such as a flip-flop and thus does not need refresh operation, which is an advantage over a DRAM. However, cost per storage capacity is high because a circuit such as a flip-flop is used. Further, as in a DRAM, stored data in an SRAM is lost when power is not supplied.
A typical example of a non-volatile memory device is a flash memory. A flash memory includes a floating gate between a gate electrode and a channel formation region in a transistor and stores data by holding electrical charge in the floating gate. Thus, a flash memory has advantages in that a data retention period is extremely long (semi-permanent) and refresh operation which is necessary in a volatile memory device is not needed (for example, see Reference 1).
However, there is a problem in that a memory element does not function after a number of writing operations because a gate insulating layer included in the memory element deteriorates due to tunneling current generated in writing operations. In order to avoid this problem, a method by which the number of writing operations is equalized among memory elements is employed, for example. However, complex peripheral circuit is needed to realize this method. Further, even when such a method is employed, the fundamental problem of lifetime cannot be solved. That is, a flash memory is not suitable for applications in which data is frequently rewritten.
In addition, high voltage is necessary in order to inject electrical charge into a floating gate or to remove the electrical charge, and a circuit for generating high voltage is required. Further, it takes a comparatively long time to inject or remove electrical charge, and it is not easy to increase the speed of writing or erasing data.